package com.example.myactspringboot.common;

import java.util.ArrayList;
import java.util.List;

/**
 * @Create 2023-09-23 16:21
 * @Description
 */
public class ForestNodeManager {
    private List<TreeNode> list;// 森林的所有节点

    public ForestNodeManager(TreeNode[] items) {
        list = new ArrayList<TreeNode>();
        for (TreeNode treeNode : items) {
            list.add(treeNode);
        }
    }

    public ForestNodeManager(List<TreeNode> items) {
        list = items;
    }

    /**
     * 根据节点ID获取一个节点
     *
     * @param id
     *            节点ID
     * @return 对应的节点对象
     */
    public TreeNode getTreeNodeAT(String id) {
        for (TreeNode treeNode : list) {
            if (treeNode.getId().equals(id))
                return treeNode;
        }
        return null;
    }

    /**
     * 获取树的根节点【一个森林对应多颗树】
     *
     * @return 树的根节点集合
     */
    public List<TreeNode> getRoot() {
        List<TreeNode> roots = new ArrayList<TreeNode>();
        for (TreeNode treeNode : list) {
            if (treeNode.getPid().equals("0"))
                roots.add(treeNode);
        }
        return roots;
    }
}
